1. Field of the Invention
The present invention relates to a technology of a distributed database, and more particularly, to a technology of a distributed database of a peer-to-peer network which is composed of plural database servers, wherein the plural database servers consist plural participating nodes, respectively.
2. Description of the Related Art
A technology is widely known, of using a distributed database in peer-to-peer computer operation environment. The typical peer-to-peer computer operation environment is composed of plural peer computer systems, each of which is said to form a node having various abilities for connection with other nodes, as disclosed by Japanese Unexamined Patent Publication (Translation of PCT Application) No. 2013-516900.
The typical distributed database is connected with the peer-to-peer computer environment for peers to share data, as described in said Japanese Unexamined Patent Publication No. 2013-516900.
A user computer forms a node in the peer-to-peer computer environment to participate in the peer-to-peer computer environment. The user computer inputs an Internet Protocol address to a web-browser application to access other server through the Internet.
The web-browser application receives a domain name from the user computer to make contact with Domain Name System (DNS) server initially, and redirects to a real IP address by using a binary identifier. The web-browser application is used to access a web page hosted in a server farm, and participates in the peer-to-peer computer environment to host web pages and other services in place of the sever farm.
Meanwhile, in the distributed database of a peer-to-peer network composed of plural database servers to be said to form plural nodes, each node is required to understand life/death states of all other participating nodes. All the participating nodes in operation hold data separately and a node in halt is deleted from a group for holding data separately. Therefore, every node is required to hold information of all the nodes such as the life/death states.
Some methods of sharing information among the nodes use a gossip protocol, as disclosed by Japanese Patent Registration No. 5118059.
Further, Japanese Unexamined Patent Publication No. 2012-146312 discloses a technology concerning a peer-to-peer network system, in which plural peers (nodes) in a group communicate with other peers and store a membership list of the peers registered in the group to share information among them.
As described above, in the general distributed database, plural nodes compose one group. One of the nodes in the group communicates with other node to obtain information of said other node together with information which was previously obtained by said other node. In this manner, the node can obtain information of many nodes from other node by the little number of times of communications with other node. Each node in the group can obtain information of the whole group by repeatedly communicating with other node. To obtain information of the whole group, the node to communicate with is selected at random.
In the above distributed database, when the nodes to be linked are selected at random, it is possible to increase the number of nodes to be communicated with and to concentrate tasks on such nodes. The concentration of tasks can make such nodes delay in response and/or halt their operations. On the contrary, some nodes are selected and information of such nodes cannot be shared. Therefore, various inconveniences are invited by selecting nodes at random.
In the conventional distributed database, examples of general communicating operation for inquiring about information will be described beforehand with reference to FIG. 5A to FIG. 5F and FIG. 6A to 6E. FIG. 5A to FIG. 55 correspond to FIG. 6A to 6E, respectively. FIG. 5F is a view of explanatory notes of symbols used in FIG. 5A to FIG. 5E.
As shown in FIG. 6A, it is assumed that four nodes: [N1], [N2], [N3], and [N4] participate. The node [N1] periodically sends requests R1, R2, R3 for information, to other nodes [N2], [N3], and [N4], at random. Similarly, other nodes periodically send requests for information to the other nodes at random.
In FIG. 5F, a symbol of “slashed square” indicates “information having not been obtained” or “unknown”, a symbol of “white round” indicates “information having been obtained”, and a symbol of “white square” indicates “information expected to obtain”. In FIG. 5A to FIG. 5E, information 10 held by the respective nodes is illustrated by the symbols. Hereinafter, the information 10 held by the respective nodes is referred to as a “node-state list(s)”.
FIG. 5A is a view showing that the four nodes are in the initial state and share no information.
FIG. 5B and FIG. 6B are views showing that the four nodes are in the following state. More particularly, the node [N1] sends a request for information to the node [N2], the node [N2] sends a request for information to the node [N4], the node [N3] sends a request for information to the node [N1], and the node N4 sends a request for information to the node [N3].
FIG. 5C and FIG. 6C are views showing that the four nodes are in the further following state. More particularly, the node [N1] sends a request for information to the node [N3], the node [N2] sends a request for information to the node [N1], the node [N3] sends a request for information to the node [N4], and the node [N4] sends a request for information to the node [N2].
FIG. 5D and FIG. 6D are views showing that the four nodes are in the further following state. More particularly, the node [N1] sends a request for information to the node [N4], the node [N2] sends a request for information to the node [N3], the node [N3] sends a request for information to the node [N2], and the node [N4] sends a request for information to the node [N1].
FIG. 5E is a view showing that the four nodes have shared information and are brought into the steady state.
Since the node to which the request is sent is selected at random, the requests from the [N2], [N3] and [N4] can concentrate on the node [N1] as shown in FIG. 6E. Further, it is possible that the requests for information are continuously sent only to the same node, resulting in inefficient operation in sharing information.
In the distributed database of a peer-to-peer network in which plural nodes are linked to one another, the present invention relates to a technology in which respective nodes obtain information of other nodes and share the information effectively.